package com.shycloud.mido.member.service;

import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shycloud.mido.member.api.dto.MemberRoleDTO;
import com.shycloud.mido.member.api.entity.MemberRole;
import com.shycloud.mido.member.api.entity.Role;
import com.shycloud.mido.member.api.vo.MembershipInfoVO;

/**
 *  会员角色
 *  @author yyy
 *  @date 2019/05/20
 */
public interface MemberRoleService extends IService<MemberRole> {

	/**
	 *
	 * 查询会员角色
	 * @param memberId 会员ID
	 * @return
	 */
	List<Role> memberRole( String memberId);
	/**
	 * 查询用户身份
	 * @param memberId 会员ID
	 * @return
	 */
	List<MemberRole> getRole(String memberId);

	/**
	 * 新增会员角色
	 * @param memberRole
	 */
	void saveMemberRole(MemberRole memberRole);

	/**
	 * 更新会员角色
	 * @param memberRole
	 */
	void updMemberRole(MemberRole memberRole);

	/**
	 * 查找会员到期时间
	 * @param memberId 会员Id
	 * @param roleName 	 角色名称
	 * @return LocalDateTime
	 */
	LocalDateTime getEndTime (String memberId, String roleName);

	/**
	 * 查询会员角色信息
	 *
	 * @param memberId 会员ID
	 * @return
	 */
	MembershipInfoVO selMemberRole(String memberId);

	/**
	 * 离会员到期1个月
	 * 离会员到期7天
	 * 离会员到期3天
	 * de 所有会员
	 * @return
	 */
	List<MemberRoleDTO>roleExpire();


	/**
	 * 会员过期
	 * @return
	 */
	List<MemberRoleDTO>roleOverdue();
}
